package com.util;

/**
 * 消息类型
 * 
 * @author wangkai
 *
 */
public enum MsgStart {

	/**
	 * 文本
	 */
	text {
		@Override
		public String getCode() {
			return "text";
		}
	},
	/**
	 * 图片
	 */
	image {
		@Override
		public String getCode() {
			return "image";
		}
	},
	/**
	 * 语言
	 */
	voice {
		@Override
		public String getCode() {
			return "voice";
		}
	},
	/**
	 * 视频
	 */
	video {
		@Override
		public String getCode() {
			return "video";
		}
	},
	/**
	 * 小视频
	 */
	shortvideo {
		@Override
		public String getCode() {
			return "shortvideo";
		}
	},
	/**
	 * 地理位置
	 */
	location {
		@Override
		public String getCode() {
			return "location";
		}
	},
	/**
	 * 链接
	 */
	link {
		@Override
		public String getCode() {
			return "link";
		}
	},
	/**
	 * 关注
	 */
	event {
		@Override
		public String getCode() {
			return "event";
		}
	},
	/**
	 * 扫码（用户未关注时，进行关注后的事件推送）
	 */
	subscribe {
		@Override
		public String getCode() {
			return "subscribe";
		}
	},
	/**
	 * 取消关注
	 * 
	 * @author wangkai
	 *
	 */
	unsubscribe {
		@Override
		public String getCode() {
			return "unsubscribe";
		}
	},
	/**
	 * 扫码（用户已关注时的事件推送）
	 */
	SCAN {
		@Override
		public String getCode() {
			return "SCAN";
		}
	},
	/**
	 * 上报地理位置事件
	 */
	LOCATION {
		@Override
		public String getCode() {
			return "LOCATION";
		}
	},
	/**
	 * 点击菜单拉取消息时的事件推送
	 */
	CLICK {
		@Override
		public String getCode() {
			return "CLICK";
		}
	},
	/**
	 * 点击菜单跳转链接时的事件推送
	 */
	VIEW {
		@Override
		public String getCode() {
			return "VIEW";
		}
	},
	/**
	 * 回复音乐消息
	 */
	music {
		@Override
		public String getCode() {
			return "music";
		}
	},
	/**
	 * 回复音乐消息
	 */
	news {
		@Override
		public String getCode() {
			return "news";
		}
	},
	/**
	 * 资质认证成功
	 */
	qvs {
		@Override
		public String getCode() {
			return "qualification_verify_success";
		}
	},
	/**
	 * 资质认证失败
	 */
	qvf {
		@Override
		public String getCode() {
			return "qualification_verify_fail";
		}
	},
	/**
	 * 名称认证成功
	 */
	nvs {
		@Override
		public String getCode() {
			return "naming_verify_success";
		}
	},
	/**
	 * 名称认证失败
	 */
	nvf {
		@Override
		public String getCode() {
			return "naming_verify_fail";
		}
	},
	/**
	 * 年审通知
	 */
	anr {
		@Override
		public String getCode() {
			return "annual_renew";
		}
	},
	/**
	 * 认证过期失效通知
	 */
	vexpired {
		@Override
		public String getCode() {
			return "verify_expired";
		}
	},
	/**
	 * 版消息发送任务
	 */
	TEMP {
		@Override
		public String getCode() {
			return "TEMPLATESENDJOBFINISH";
		}
	};
	public abstract String getCode();

}
